//
//  LatestBespeak.swift
//  Venus
//
//  Created by apple on 2018/9/3.
//  Copyright © 2018年 zhaowang. All rights reserved.
//  机构预约 - 最新预约

import UIKit
import SwiftyJSON
import IQKeyboardManagerSwift
private let cellID = "LatestBespeakTvCell"
class LatestBespeakVc: BaseViewController {
    
    /// 数据源
    var dataArr : [BespeakStruct] = []
    
    fileprivate lazy var tableView : UITableView = {
        let tableView = UITableView.init(frame: CGRect.zero, style: .plain)
        tableView.delegate = self
        tableView.dataSource = self
        tableView.separatorStyle = .none
        tableView.register(LatestBespeakTvCell.self, forCellReuseIdentifier: cellID)
        return tableView
    }()
    
    fileprivate var modelArr:[InstitutionAppointModel] =  [InstitutionAppointModel]()
    
    override func viewWillAppear(_ animated: Bool) {
        IQKeyboardManager.shared.enable = true
        IQKeyboardManager.shared.enableAutoToolbar = true
        IQKeyboardManager.shared.shouldResignOnTouchOutside = true
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        setupUI()
        loadData()
    }
    
}

extension LatestBespeakVc {
    
    func loadData()  {
        //true查询所有已
        let userModel = UserInfo.shareInstance.userModel()
        
        let dict:String = [
            "id":String(userModel.institutionId),
            "isSee":"false" ,//true查询所有已确认过的预约单
            "pageNo":"1",
            "pageSize":"10",
            "sign":"1",
            "timestamp":"1",
            "operatorId":"79"
            ].formatApi()
        let url = kHost + kqueryAppointmentList + dict
        self.hudLoad()
        TempNetTool.post(url , parameters: nil, progress: nil, success: { [weak self] (result) in
            self?.hudHide()
            
         //   DDLOG(message: "result =\(result)")
            if let res = result as? [String:Any],
                let dataDictArr = res["data"] as? [[String:Any]]{
                for dict in dataDictArr{
                    self?.dataArr.append(BespeakStruct(dict: dict))
                }
            }
            
            self?.tableView.reloadData()
            //     
        }) {[weak self] (error) in
            self?.hudHide()
            self?.hudError()
        }
    }
}


// MARK: - LatestBespeakTvCellDelegate：cell的点击代理
extension LatestBespeakVc:LatestBespeakTvCellDelegate{
    func clickCellPhone(row: Int) {
      //  DDLOG(message: "点了手机按钮\(row) = \(self.dataArr[row].phone)")
        if let url = URL(string: "tel:" + self.dataArr[row].phone) {
            UIApplication.shared.openURL(url)
        }
    }
    
    func clickCellRecord(row: Int) {
     //   DDLOG(message:"点了记录按钮\(row) = \(self.dataArr[row].remark)")
        
        let alert = UIAlertController(title: "预约信息\n\n\n", message: "", preferredStyle: UIAlertController.Style.alert)
        
        let textView = UITextView(frame: CGRect(x: 10, y: 40, width: 250 , height: 60))
        //textView.delegate = self
        textView.text = self.dataArr[row].remark
        textView.textColor = UIColor.black
        textView.backgroundColor = UIColor.red
        textView.font = UIFont.systemFont(ofSize: 16)
        alert.view.addSubview(textView)
        
        //FIXME:直接加到当前view上。 相应IQK 任意位置
        //FIXME:直接加到当前view上。 相应IQK 任意位置
        //FIXME:直接加到当前view上。 相应IQK 任意位置
        //FIXME:直接加到当前view上。 相应IQK 任意位置
        //FIXME:直接加到当前view上。 相应IQK 任意位置
        //FIXME:直接加到当前view上。 相应IQK 任意位置
        //        view.addSubview(textView)
        
        
        //FIXME: 不开IQKey 也会上移 ？？？ textField还不能设置为透明色，边框色也不能改
        //FIXME: 不开IQKey 也会上移 ？？？ textField还不能设置为透明色，边框色也不能改
        //FIXME: 不开IQKey 也会上移 ？？？ textField还不能设置为透明色，边框色也不能改
        //FIXME: 不开IQKey 也会上移 ？？？ textField还不能设置为透明色，边框色也不能改
        //FIXME: 不开IQKey 也会上移 ？？？ textField还不能设置为透明色，边框色也不能改
        //FIXME: 不开IQKey 也会上移 ？？？ textField还不能设置为透明色，边框色也不能改
        
        //        alert.addTextField { (textField) in
        //            textField.text = self.dataArr[row].remark
        //            textField.backgroundColor = UIColor.clear
        //            textField.layer.borderColor = UIColor.white.cgColor
        //            textField.layer.borderWidth = 0
        //            textField.isUserInteractionEnabled = false
        //            textField.borderStyle = .roundedRect
        //        }
        //
        //添加确定按钮
        alert.addAction(UIAlertAction.init(title: "确定", style: UIAlertAction.Style.default, handler: { (_) in
         //   DDLOG(message: "打印输入信息")
        }))
        //添加取消按钮
        alert.addAction(UIAlertAction.init(title: "取消", style: .cancel, handler: nil))
        self.present(alert, animated: true, completion: nil)
        
    }
}

// MARK:- 代理
extension LatestBespeakVc:UITableViewDelegate , UITableViewDataSource {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return  self.dataArr.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView .dequeueReusableCell(withIdentifier: cellID, for: indexPath) as! LatestBespeakTvCell
        cell.configData(indexpath: indexPath, delegate: self, data: dataArr[indexPath.row])
        return cell
    }
    
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return UITableView.automaticDimension
    }
    
    func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
        return UITableView.automaticDimension
    }
}

//设置UI
extension LatestBespeakVc{
    func setupUI() {
        view.addSubview(tableView)
        tableView.snp.makeConstraints { (make) in
            make.top.left.right.equalTo(view)
            if #available(iOS 11.0, *) {
                make.bottom.equalTo(view.safeAreaLayoutGuide.snp.bottom)
            } else {
                make.bottom.equalTo(view.snp.bottom)
            }
        }
    }
}

